[INFO] cloning repository https://github.com/gilfordting/decaf-compiler
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gilfordting/decaf-compiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgilfordting%2Fdecaf-compiler", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgilfordting%2Fdecaf-compiler'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4e4187c9e9ee784483263459935e61a6377a6b96
[INFO] fixing gilfordting/decaf-compiler against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgilfordting%2Fdecaf-compiler" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/gilfordting/decaf-compiler
[INFO] finished tweaking git repo https://github.com/gilfordting/decaf-compiler
[INFO] tweaked toml for git repo https://github.com/gilfordting/decaf-compiler written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/gilfordting/decaf-compiler on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/gilfordting/decaf-compiler already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 739d2e337d06993e48b7ac2e267bec04820814ca2e55e8f74c80688ec2ae8022
[INFO] running `Command { std: "docker" "start" "739d2e337d06993e48b7ac2e267bec04820814ca2e55e8f74c80688ec2ae8022", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "739d2e337d06993e48b7ac2e267bec04820814ca2e55e8f74c80688ec2ae8022" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "739d2e337d06993e48b7ac2e267bec04820814ca2e55e8f74c80688ec2ae8022", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "739d2e337d06993e48b7ac2e267bec04820814ca2e55e8f74c80688ec2ae8022" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]     Checking hashbrown v0.15.3
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking heuristic-graph-coloring v0.1.0
[INFO] [stderr]     Checking clap_builder v4.5.35
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]    Compiling test_each_file v0.3.4
[INFO] [stderr]     Checking clap v4.5.35
[INFO] [stderr]     Checking team13_compiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/codegen/constructs/operations.rs:233:43
[INFO] [stdout]     |
[INFO] [stdout] 233 |         unsafe { format!("skip_write_{}", COND_LABEL_COUNTER) },
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/codegen/constructs/operations.rs:243:43
[INFO] [stdout]     |
[INFO] [stdout] 243 |         unsafe { format!("skip_write_{}", COND_LABEL_COUNTER) },
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/codegen/constructs/operations.rs:233:43
[INFO] [stdout]     |
[INFO] [stdout] 233 |         unsafe { format!("skip_write_{}", COND_LABEL_COUNTER) },
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/parser.rs from 2021 edition to 2024
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/codegen/constructs/operations.rs:243:43
[INFO] [stdout]     |
[INFO] [stdout] 243 |         unsafe { format!("skip_write_{}", COND_LABEL_COUNTER) },
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/semantics.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/dataflow.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/codegen.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/scanner.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.01s
[INFO] [stderr] crater-edition-check: team13_compiler v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking team13_compiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ssa::types::SsaVariable`
[INFO] [stdout]   --> src/codegen/constructs/operations.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ssa::types::SsaVariable,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `VecDeque`
[INFO] [stdout]  --> src/ssa/constructor.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{BTreeMap, HashMap, HashSet, VecDeque};
[INFO] [stdout]   |                        ^^^^^^^^                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cfg::builder::CfgBuilder`
[INFO] [stdout]  --> src/ssa/constructor.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::cfg::builder::CfgBuilder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cfg::types::*`
[INFO] [stdout]  --> src/ssa/constructor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::cfg::types::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ssa::types::SsaVariable`
[INFO] [stdout]   --> src/codegen/constructs/operations.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ssa::types::SsaVariable,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `VecDeque`
[INFO] [stdout]  --> src/ssa/constructor.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{BTreeMap, HashMap, HashSet, VecDeque};
[INFO] [stdout]   |                        ^^^^^^^^                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cfg::builder::CfgBuilder`
[INFO] [stdout]  --> src/ssa/constructor.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::cfg::builder::CfgBuilder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cfg::types::*`
[INFO] [stdout]  --> src/ssa/constructor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::cfg::types::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]    --> src/cfg/builder.rs:971:17
[INFO] [stdout]     |
[INFO] [stdout] 971 |                 op,
[INFO] [stdout]     |                 ^^ help: try ignoring the field: `op: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/cfg/builder.rs:972:17
[INFO] [stdout]     |
[INFO] [stdout] 972 |                 left,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `left: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> src/cfg/builder.rs:973:17
[INFO] [stdout]     |
[INFO] [stdout] 973 |                 right,
[INFO] [stdout]     |                 ^^^^^ help: try ignoring the field: `right: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resolved_type`
[INFO] [stdout]    --> src/cfg/builder.rs:974:17
[INFO] [stdout]     |
[INFO] [stdout] 974 |                 resolved_type,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: try ignoring the field: `resolved_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `all_insts` is never read
[INFO] [stdout]   --> src/cfg/visualization.rs:31:33
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let mut all_insts = Vec::new();
[INFO] [stdout]    |                                 ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 46 |                 all_insts = block.instructions.clone();
[INFO] [stdout]    |                 --------- `all_insts` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_conditional`
[INFO] [stdout]    --> src/codegen/constructs/operations.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     block_conditional: Option<(SsaRegVariable, Option<IrComparisonOp>)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_conditional`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_numeric`
[INFO] [stdout]   --> src/codegen/restructure.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let (location, is_numeric) = self.to_location(&table);
[INFO] [stdout]    |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_numeric`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tagged_ralloc_ir`
[INFO] [stdout]    --> src/compiler.rs:263:13
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let tagged_ralloc_ir = self.empty_regalloc_ir_to_tagged_regalloc_ir(empty_ralloc_ir);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tagged_ralloc_ir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/ir_builder.rs:419:13
[INFO] [stdout]     |
[INFO] [stdout] 419 |             _ => todo!("Implement other statement types"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/ir/ir_builder.rs:419:13
[INFO] [stdout]     |
[INFO] [stdout] 373 |             AstStatement::Assignment(assign) => Ok(IrStatement::Assignment(
[INFO] [stdout]     |             -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 376 |             AstStatement::MethodCall(call) => {
[INFO] [stdout]     |             ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 383 |             AstStatement::Return(ret) => {
[INFO] [stdout]     |             ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 386 |             AstStatement::Break(location) => {
[INFO] [stdout]     |             ----------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 419 |             _ => todo!("Implement other statement types"),
[INFO] [stdout]     |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/ir/ir_builder.rs:431:61
[INFO] [stdout]     |
[INFO] [stdout] 431 |             AstExpression::Location(AstLocation::Variable { name, location }) => {}
[INFO] [stdout]     |                                                             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/ir/ir_builder.rs:431:67
[INFO] [stdout]     |
[INFO] [stdout] 431 |             AstExpression::Location(AstLocation::Variable { name, location }) => {}
[INFO] [stdout]     |                                                                   ^^^^^^^^ help: try ignoring the field: `location: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/ir/ir_builder.rs:437:22
[INFO] [stdout]     |
[INFO] [stdout] 437 |                 for (i, arg) in call.args.iter().enumerate() {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/ir/ir_builder.rs:477:21
[INFO] [stdout]     |
[INFO] [stdout] 477 |                     id,
[INFO] [stdout]     |                     ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/ir/ir_builder.rs:501:21
[INFO] [stdout]     |
[INFO] [stdout] 501 |                     name,
[INFO] [stdout]     |                     ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/ir/ir_builder.rs:502:21
[INFO] [stdout]     |
[INFO] [stdout] 502 |                     id,
[INFO] [stdout]     |                     ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/ir/ir_builder.rs:604:21
[INFO] [stdout]     |
[INFO] [stdout] 604 |                     name,
[INFO] [stdout]     |                     ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/ir/ir_builder.rs:605:21
[INFO] [stdout]     |
[INFO] [stdout] 605 |                     id,
[INFO] [stdout]     |                     ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_clone`
[INFO] [stdout]    --> src/ir/ir_builder.rs:659:21
[INFO] [stdout]     |
[INFO] [stdout] 659 |                 let target_clone = target.clone();
[INFO] [stdout]     |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/ir/ir_builder.rs:739:32
[INFO] [stdout]     |
[INFO] [stdout] 739 |                 Symbol::Import(location, _) => {
[INFO] [stdout]     |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/ir/ir_builder.rs:785:76
[INFO] [stdout]     |
[INFO] [stdout] 785 |                     if let AstExpression::Location(AstLocation::Variable { name, location }) = expr
[INFO] [stdout]     |                                                                            ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/ir/ir_builder.rs:849:50
[INFO] [stdout]     |
[INFO] [stdout] 849 |                 AstArg::StringLiteral { raw_str, location } => {
[INFO] [stdout]     |                                                  ^^^^^^^^ help: try ignoring the field: `location: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `descriptor`
[INFO] [stdout]    --> src/ir/ir_builder.rs:863:66
[INFO] [stdout]     |
[INFO] [stdout] 863 | ...                   if let Some(Symbol::Variable(descriptor, _)) =
[INFO] [stdout]     |                                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `descriptor`
[INFO] [stdout]    --> src/ir/ir_builder.rs:884:66
[INFO] [stdout]     |
[INFO] [stdout] 884 | ...                   if let Some(Symbol::Variable(descriptor, _)) =
[INFO] [stdout]     |                                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/ir/ir_builder.rs:1433:13
[INFO] [stdout]      |
[INFO] [stdout] 1433 |             _ => todo!("Implement other literal types"),
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/ir/ir_builder.rs:1433:13
[INFO] [stdout]      |
[INFO] [stdout] 1392 |             AstLiteral::Int { raw_str, location } => {
[INFO] [stdout]      |             ------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1400 |             AstLiteral::Long { raw_str, location } => {
[INFO] [stdout]      |             -------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1408 |             AstLiteral::Bool { value, .. } => Ok(IrLiteral {
[INFO] [stdout]      |             ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1412 |             AstLiteral::Char { raw_str, location } => {
[INFO] [stdout]      |             -------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1433 |             _ => todo!("Implement other literal types"),
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> src/ir/ir_builder.rs:1557:13
[INFO] [stdout]      |
[INFO] [stdout] 1557 |             id,
[INFO] [stdout]      |             ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]    --> src/cfg/builder.rs:971:17
[INFO] [stdout]     |
[INFO] [stdout] 971 |                 op,
[INFO] [stdout]     |                 ^^ help: try ignoring the field: `op: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/cfg/builder.rs:972:17
[INFO] [stdout]     |
[INFO] [stdout] 972 |                 left,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `left: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> src/cfg/builder.rs:973:17
[INFO] [stdout]     |
[INFO] [stdout] 973 |                 right,
[INFO] [stdout]     |                 ^^^^^ help: try ignoring the field: `right: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resolved_type`
[INFO] [stdout]    --> src/cfg/builder.rs:974:17
[INFO] [stdout]     |
[INFO] [stdout] 974 |                 resolved_type,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: try ignoring the field: `resolved_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `all_insts` is never read
[INFO] [stdout]   --> src/cfg/visualization.rs:31:33
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let mut all_insts = Vec::new();
[INFO] [stdout]    |                                 ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 46 |                 all_insts = block.instructions.clone();
[INFO] [stdout]    |                 --------- `all_insts` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/regalloc/alloc.rs:202:14
[INFO] [stdout]     |
[INFO] [stdout] 202 |         for (i, (live_in, live_out)) in liveness_info.clone() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var`
[INFO] [stdout]    --> src/regalloc/alloc.rs:277:24
[INFO] [stdout]     |
[INFO] [stdout] 277 |         for (node_idx, var) in &idx_to_var {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/scanner/errors.rs:136:37
[INFO] [stdout]     |
[INFO] [stdout] 136 |             ScannerError::EndOfFile(info) => {
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/ssa/constructor.rs:873:54
[INFO] [stdout]     |
[INFO] [stdout] 873 |                 SsaInstruction::StringAssign { dest, value } => {
[INFO] [stdout]     |                                                      ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var`
[INFO] [stdout]     --> src/ssa/constructor.rs:1066:32
[INFO] [stdout]      |
[INFO] [stdout] 1066 |         if let Some((cond_var, var)) = &mut ssa_program.graph[block_idx].conditional {
[INFO] [stdout]      |                                ^^^ help: if this is intentional, prefix it with an underscore: `_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ssa/dataflows.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut worklist: Vec<usize> = (0..self.ssa_program.graph.node_count()).collect();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `changed` is assigned to, but never used
[INFO] [stdout]   --> src/ssa/dataflows.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut changed = true;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_changed` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/ssa/dataflows.rs:45:22
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 for (i, instruction) in &mut block.instructions.iter_mut().enumerate() {
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `changed` is never read
[INFO] [stdout]    --> src/ssa/dataflows.rs:36:13
[INFO] [stdout]     |
[INFO] [stdout]  36 |             changed = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 121 |                                     changed = true;
[INFO] [stdout]     |                                     -------------- `changed` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `changed` is never read
[INFO] [stdout]    --> src/ssa/dataflows.rs:121:37
[INFO] [stdout]     |
[INFO] [stdout] 121 | ...                   changed = true;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_conditional`
[INFO] [stdout]    --> src/codegen/constructs/operations.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     block_conditional: Option<(SsaRegVariable, Option<IrComparisonOp>)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_conditional`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/ssa/dataflows.rs:406:52
[INFO] [stdout]     |
[INFO] [stdout] 406 |                     SsaInstruction::Assign { dest, source } => {
[INFO] [stdout]     |                                                    ^^^^^^ help: try ignoring the field: `source: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dest`
[INFO] [stdout]    --> src/ssa/dataflows.rs:460:52
[INFO] [stdout]     |
[INFO] [stdout] 460 |                     SsaInstruction::StringAssign { dest, value } => {
[INFO] [stdout]     |                                                    ^^^^ help: try ignoring the field: `dest: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/ssa/dataflows.rs:460:58
[INFO] [stdout]     |
[INFO] [stdout] 460 |                     SsaInstruction::StringAssign { dest, value } => {
[INFO] [stdout]     |                                                          ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr`
[INFO] [stdout]    --> src/ssa/dataflows.rs:473:48
[INFO] [stdout]     |
[INFO] [stdout] 473 |                     SsaInstruction::ArrayDef { arr, size } => {
[INFO] [stdout]     |                                                ^^^ help: try ignoring the field: `arr: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/ssa/dataflows.rs:473:53
[INFO] [stdout]     |
[INFO] [stdout] 473 |                     SsaInstruction::ArrayDef { arr, size } => {
[INFO] [stdout]     |                                                     ^^^^ help: try ignoring the field: `size: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var`
[INFO] [stdout]    --> src/ssa/dataflows.rs:476:51
[INFO] [stdout]     |
[INFO] [stdout] 476 |                     SsaInstruction::ArgumentDef { var, arg_index } => {
[INFO] [stdout]     |                                                   ^^^ help: try ignoring the field: `var: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg_index`
[INFO] [stdout]    --> src/ssa/dataflows.rs:476:56
[INFO] [stdout]     |
[INFO] [stdout] 476 |                     SsaInstruction::ArgumentDef { var, arg_index } => {
[INFO] [stdout]     |                                                        ^^^^^^^^^ help: try ignoring the field: `arg_index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]    --> src/ssa/dataflows.rs:615:39
[INFO] [stdout]     |
[INFO] [stdout] 615 |             if let Some((conditional, op)) = &block.conditional {
[INFO] [stdout]     |                                       ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/ssa/dataflows.rs:719:18
[INFO] [stdout]     |
[INFO] [stdout] 719 |             for (i, inst) in instructions.iter().enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]    --> src/ssa/dataflows.rs:722:21
[INFO] [stdout]     |
[INFO] [stdout] 722 |                     op,
[INFO] [stdout]     |                     ^^ help: try ignoring the field: `op: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ssa/dataflows.rs:885:13
[INFO] [stdout]     |
[INFO] [stdout] 885 |             _ => false,
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/ssa/dataflows.rs:885:13
[INFO] [stdout]     |
[INFO] [stdout] 818 |             SsaInstruction::ArrayWrite { .. } => true,
[INFO] [stdout]     |             --------------------------------- matches some of the same values
[INFO] [stdout] 819 |             SsaInstruction::MethodCall { .. } => true,
[INFO] [stdout]     |             --------------------------------- matches some of the same values
[INFO] [stdout] 820 |             SsaInstruction::Return(_) => true,
[INFO] [stdout]     |             ------------------------- matches some of the same values
[INFO] [stdout] 821 |             SsaInstruction::ControlDroppedError(_) => true,
[INFO] [stdout]     |             -------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 885 |             _ => false,
[INFO] [stdout]     |             ^ ...and 9 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_numeric`
[INFO] [stdout]   --> src/codegen/restructure.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let (location, is_numeric) = self.to_location(&table);
[INFO] [stdout]    |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_numeric`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clean_cfg` is never used
[INFO] [stdout]    --> src/cfg/builder.rs:368:8
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl CfgBuilder {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 368 |     fn clean_cfg(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `location_to_expression` and `check_import` are never used
[INFO] [stdout]    --> src/ir/ir_builder.rs:671:8
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl IrBuilder {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 671 |     fn location_to_expression(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 704 |     fn check_import(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `try_register_assignment` is never used
[INFO] [stdout]    --> src/regalloc/alloc.rs:319:8
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl SsaRegProgram {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 319 |     fn try_register_assignment(&self) -> Option<HashMap<SsaVariable, RegisterId>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/codegen/constructs/operations.rs:233:43
[INFO] [stdout]     |
[INFO] [stdout] 233 |         unsafe { format!("skip_write_{}", COND_LABEL_COUNTER) },
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[deny(static_mut_refs)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/codegen/constructs/operations.rs:243:43
[INFO] [stdout]     |
[INFO] [stdout] 243 |         unsafe { format!("skip_write_{}", COND_LABEL_COUNTER) },
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tagged_ralloc_ir`
[INFO] [stdout]    --> src/compiler.rs:263:13
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let tagged_ralloc_ir = self.empty_regalloc_ir_to_tagged_regalloc_ir(empty_ralloc_ir);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tagged_ralloc_ir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `team13_compiler` (lib) due to 2 previous errors; 53 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/ir_builder.rs:419:13
[INFO] [stdout]     |
[INFO] [stdout] 419 |             _ => todo!("Implement other statement types"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/ir/ir_builder.rs:419:13
[INFO] [stdout]     |
[INFO] [stdout] 373 |             AstStatement::Assignment(assign) => Ok(IrStatement::Assignment(
[INFO] [stdout]     |             -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 376 |             AstStatement::MethodCall(call) => {
[INFO] [stdout]     |             ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 383 |             AstStatement::Return(ret) => {
[INFO] [stdout]     |             ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 386 |             AstStatement::Break(location) => {
[INFO] [stdout]     |             ----------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 419 |             _ => todo!("Implement other statement types"),
[INFO] [stdout]     |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/ir/ir_builder.rs:431:61
[INFO] [stdout]     |
[INFO] [stdout] 431 |             AstExpression::Location(AstLocation::Variable { name, location }) => {}
[INFO] [stdout]     |                                                             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/ir/ir_builder.rs:431:67
[INFO] [stdout]     |
[INFO] [stdout] 431 |             AstExpression::Location(AstLocation::Variable { name, location }) => {}
[INFO] [stdout]     |                                                                   ^^^^^^^^ help: try ignoring the field: `location: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/ir/ir_builder.rs:437:22
[INFO] [stdout]     |
[INFO] [stdout] 437 |                 for (i, arg) in call.args.iter().enumerate() {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/ir/ir_builder.rs:477:21
[INFO] [stdout]     |
[INFO] [stdout] 477 |                     id,
[INFO] [stdout]     |                     ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/ir/ir_builder.rs:501:21
[INFO] [stdout]     |
[INFO] [stdout] 501 |                     name,
[INFO] [stdout]     |                     ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/ir/ir_builder.rs:502:21
[INFO] [stdout]     |
[INFO] [stdout] 502 |                     id,
[INFO] [stdout]     |                     ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/ir/ir_builder.rs:604:21
[INFO] [stdout]     |
[INFO] [stdout] 604 |                     name,
[INFO] [stdout]     |                     ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/ir/ir_builder.rs:605:21
[INFO] [stdout]     |
[INFO] [stdout] 605 |                     id,
[INFO] [stdout]     |                     ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_clone`
[INFO] [stdout]    --> src/ir/ir_builder.rs:659:21
[INFO] [stdout]     |
[INFO] [stdout] 659 |                 let target_clone = target.clone();
[INFO] [stdout]     |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/ir/ir_builder.rs:739:32
[INFO] [stdout]     |
[INFO] [stdout] 739 |                 Symbol::Import(location, _) => {
[INFO] [stdout]     |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/ir/ir_builder.rs:785:76
[INFO] [stdout]     |
[INFO] [stdout] 785 |                     if let AstExpression::Location(AstLocation::Variable { name, location }) = expr
[INFO] [stdout]     |                                                                            ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/ir/ir_builder.rs:849:50
[INFO] [stdout]     |
[INFO] [stdout] 849 |                 AstArg::StringLiteral { raw_str, location } => {
[INFO] [stdout]     |                                                  ^^^^^^^^ help: try ignoring the field: `location: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `descriptor`
[INFO] [stdout]    --> src/ir/ir_builder.rs:863:66
[INFO] [stdout]     |
[INFO] [stdout] 863 | ...                   if let Some(Symbol::Variable(descriptor, _)) =
[INFO] [stdout]     |                                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `descriptor`
[INFO] [stdout]    --> src/ir/ir_builder.rs:884:66
[INFO] [stdout]     |
[INFO] [stdout] 884 | ...                   if let Some(Symbol::Variable(descriptor, _)) =
[INFO] [stdout]     |                                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/ir/ir_builder.rs:1433:13
[INFO] [stdout]      |
[INFO] [stdout] 1433 |             _ => todo!("Implement other literal types"),
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/ir/ir_builder.rs:1433:13
[INFO] [stdout]      |
[INFO] [stdout] 1392 |             AstLiteral::Int { raw_str, location } => {
[INFO] [stdout]      |             ------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1400 |             AstLiteral::Long { raw_str, location } => {
[INFO] [stdout]      |             -------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1408 |             AstLiteral::Bool { value, .. } => Ok(IrLiteral {
[INFO] [stdout]      |             ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1412 |             AstLiteral::Char { raw_str, location } => {
[INFO] [stdout]      |             -------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1433 |             _ => todo!("Implement other literal types"),
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> src/ir/ir_builder.rs:1557:13
[INFO] [stdout]      |
[INFO] [stdout] 1557 |             id,
[INFO] [stdout]      |             ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/regalloc/alloc.rs:202:14
[INFO] [stdout]     |
[INFO] [stdout] 202 |         for (i, (live_in, live_out)) in liveness_info.clone() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var`
[INFO] [stdout]    --> src/regalloc/alloc.rs:277:24
[INFO] [stdout]     |
[INFO] [stdout] 277 |         for (node_idx, var) in &idx_to_var {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/scanner/errors.rs:136:37
[INFO] [stdout]     |
[INFO] [stdout] 136 |             ScannerError::EndOfFile(info) => {
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/ssa/constructor.rs:873:54
[INFO] [stdout]     |
[INFO] [stdout] 873 |                 SsaInstruction::StringAssign { dest, value } => {
[INFO] [stdout]     |                                                      ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var`
[INFO] [stdout]     --> src/ssa/constructor.rs:1066:32
[INFO] [stdout]      |
[INFO] [stdout] 1066 |         if let Some((cond_var, var)) = &mut ssa_program.graph[block_idx].conditional {
[INFO] [stdout]      |                                ^^^ help: if this is intentional, prefix it with an underscore: `_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ssa/dataflows.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut worklist: Vec<usize> = (0..self.ssa_program.graph.node_count()).collect();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `changed` is assigned to, but never used
[INFO] [stdout]   --> src/ssa/dataflows.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut changed = true;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_changed` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/ssa/dataflows.rs:45:22
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 for (i, instruction) in &mut block.instructions.iter_mut().enumerate() {
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `changed` is never read
[INFO] [stdout]    --> src/ssa/dataflows.rs:36:13
[INFO] [stdout]     |
[INFO] [stdout]  36 |             changed = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 121 |                                     changed = true;
[INFO] [stdout]     |                                     -------------- `changed` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `changed` is never read
[INFO] [stdout]    --> src/ssa/dataflows.rs:121:37
[INFO] [stdout]     |
[INFO] [stdout] 121 | ...                   changed = true;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/ssa/dataflows.rs:406:52
[INFO] [stdout]     |
[INFO] [stdout] 406 |                     SsaInstruction::Assign { dest, source } => {
[INFO] [stdout]     |                                                    ^^^^^^ help: try ignoring the field: `source: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dest`
[INFO] [stdout]    --> src/ssa/dataflows.rs:460:52
[INFO] [stdout]     |
[INFO] [stdout] 460 |                     SsaInstruction::StringAssign { dest, value } => {
[INFO] [stdout]     |                                                    ^^^^ help: try ignoring the field: `dest: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/ssa/dataflows.rs:460:58
[INFO] [stdout]     |
[INFO] [stdout] 460 |                     SsaInstruction::StringAssign { dest, value } => {
[INFO] [stdout]     |                                                          ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr`
[INFO] [stdout]    --> src/ssa/dataflows.rs:473:48
[INFO] [stdout]     |
[INFO] [stdout] 473 |                     SsaInstruction::ArrayDef { arr, size } => {
[INFO] [stdout]     |                                                ^^^ help: try ignoring the field: `arr: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/ssa/dataflows.rs:473:53
[INFO] [stdout]     |
[INFO] [stdout] 473 |                     SsaInstruction::ArrayDef { arr, size } => {
[INFO] [stdout]     |                                                     ^^^^ help: try ignoring the field: `size: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var`
[INFO] [stdout]    --> src/ssa/dataflows.rs:476:51
[INFO] [stdout]     |
[INFO] [stdout] 476 |                     SsaInstruction::ArgumentDef { var, arg_index } => {
[INFO] [stdout]     |                                                   ^^^ help: try ignoring the field: `var: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg_index`
[INFO] [stdout]    --> src/ssa/dataflows.rs:476:56
[INFO] [stdout]     |
[INFO] [stdout] 476 |                     SsaInstruction::ArgumentDef { var, arg_index } => {
[INFO] [stdout]     |                                                        ^^^^^^^^^ help: try ignoring the field: `arg_index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]    --> src/ssa/dataflows.rs:615:39
[INFO] [stdout]     |
[INFO] [stdout] 615 |             if let Some((conditional, op)) = &block.conditional {
[INFO] [stdout]     |                                       ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/ssa/dataflows.rs:719:18
[INFO] [stdout]     |
[INFO] [stdout] 719 |             for (i, inst) in instructions.iter().enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]    --> src/ssa/dataflows.rs:722:21
[INFO] [stdout]     |
[INFO] [stdout] 722 |                     op,
[INFO] [stdout]     |                     ^^ help: try ignoring the field: `op: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ssa/dataflows.rs:885:13
[INFO] [stdout]     |
[INFO] [stdout] 885 |             _ => false,
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/ssa/dataflows.rs:885:13
[INFO] [stdout]     |
[INFO] [stdout] 818 |             SsaInstruction::ArrayWrite { .. } => true,
[INFO] [stdout]     |             --------------------------------- matches some of the same values
[INFO] [stdout] 819 |             SsaInstruction::MethodCall { .. } => true,
[INFO] [stdout]     |             --------------------------------- matches some of the same values
[INFO] [stdout] 820 |             SsaInstruction::Return(_) => true,
[INFO] [stdout]     |             ------------------------- matches some of the same values
[INFO] [stdout] 821 |             SsaInstruction::ControlDroppedError(_) => true,
[INFO] [stdout]     |             -------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 885 |             _ => false,
[INFO] [stdout]     |             ^ ...and 9 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clean_cfg` is never used
[INFO] [stdout]    --> src/cfg/builder.rs:368:8
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl CfgBuilder {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 368 |     fn clean_cfg(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `location_to_expression` and `check_import` are never used
[INFO] [stdout]    --> src/ir/ir_builder.rs:671:8
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl IrBuilder {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 671 |     fn location_to_expression(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 704 |     fn check_import(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `try_register_assignment` is never used
[INFO] [stdout]    --> src/regalloc/alloc.rs:319:8
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl SsaRegProgram {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 319 |     fn try_register_assignment(&self) -> Option<HashMap<SsaVariable, RegisterId>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/codegen/constructs/operations.rs:233:43
[INFO] [stdout]     |
[INFO] [stdout] 233 |         unsafe { format!("skip_write_{}", COND_LABEL_COUNTER) },
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[deny(static_mut_refs)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/codegen/constructs/operations.rs:243:43
[INFO] [stdout]     |
[INFO] [stdout] 243 |         unsafe { format!("skip_write_{}", COND_LABEL_COUNTER) },
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `team13_compiler` (lib test) due to 2 previous errors; 53 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "739d2e337d06993e48b7ac2e267bec04820814ca2e55e8f74c80688ec2ae8022", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "739d2e337d06993e48b7ac2e267bec04820814ca2e55e8f74c80688ec2ae8022", kill_on_drop: false }`
[INFO] [stdout] 739d2e337d06993e48b7ac2e267bec04820814ca2e55e8f74c80688ec2ae8022
